home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / extra / pro13 / tsrlib.h < prev    next >
C/C++ Source or Header  |  1993-08-28  |  4KB  |  204 lines

  1. /*
  2.     tsrlib.H
  3.  
  4.     Copyright (C) 1993, Geoff Friesen B.Sc.
  5.     All rights reserved.
  6. */
  7.  
  8. #pragma inline
  9.  
  10. #include <ctype.H>
  11. #include <dir.H>
  12. #include <dos.H>
  13. #include <fcntl.H>
  14. #include <io.H>
  15. #include <stdio.H>
  16. #include <stdlib.H>
  17. #include <string.H>
  18.  
  19. #undef isalnum
  20. #undef isalpha
  21. #undef isdigit
  22. #undef islower
  23. #undef isspace
  24. #undef isupper
  25. #undef isxdigit
  26.  
  27. #define    NUL    0x0000
  28. #define    BS    0x0008
  29. #define    TAB    0x0009
  30. #define    LF    0x000a
  31. #define    FF    0x000c
  32. #define    CR    0x000d
  33. #define    RET    0x000d
  34. #define    ESC    0x001b
  35. #define    STAB    0x0f00
  36. #define    ALTA    0x1e00
  37. #define    ALTB    0x3000
  38. #define    ALTC    0x2e00
  39. #define    ALTD    0x2000
  40. #define    ALTE    0x1200
  41. #define    ALTF    0x2100
  42. #define    ALTG    0x2200
  43. #define    ALTH    0x2300
  44. #define    ALTI    0x1700
  45. #define    ALTJ    0x2400
  46. #define    ALTK    0x2500
  47. #define    ALTL    0x2600
  48. #define    ALTM    0x3200
  49. #define    ALTN    0x3100
  50. #define    ALTO    0x1800
  51. #define    ALTP    0x1900
  52. #define    ALTQ    0x1000
  53. #define    ALTR    0x1300
  54. #define    ALTS    0x1f00
  55. #define    ALTT    0x1400
  56. #define    ALTU    0x1600
  57. #define    ALTV    0x2f00
  58. #define    ALTW    0x1100
  59. #define    ALTX    0x2d00
  60. #define    ALTY    0x1500
  61. #define    ALTZ    0x2c00
  62. #define    F1    0x3b00
  63. #define    F2    0x3c00
  64. #define    F3    0x3d00
  65. #define    F4    0x3e00
  66. #define    F5    0x3f00
  67. #define    F6    0x4000
  68. #define    F7    0x4100
  69. #define    F8    0x4200
  70. #define    F9    0x4300
  71. #define    F10    0x4400
  72. #define    HOME    0x4700
  73. #define    UP    0x4800
  74. #define    PGUP    0x4900
  75. #define LEFT    0x4b00
  76. #define    RIGHT    0x4d00
  77. #define    END    0x4f00
  78. #define    DOWN    0x5000
  79. #define    PGDN    0x5100
  80. #define    INS    0x5200
  81. #define    DEL    0x5300
  82.  
  83. #define    MDA        0
  84. #define    CGA        1
  85. #define    EGA_BW        2
  86. #define    EGA_COLOR    3
  87. #define    VGA_BW        4
  88. #define    VGA_COLOR    5
  89.  
  90. #define    BW80        2
  91. #define    C80        3
  92. #define    MONO        7
  93.  
  94. #define    BLACK        0
  95. #define    BLUE        1
  96. #define    GREEN        2
  97. #define    CYAN        3
  98. #define    RED        4
  99. #define    MAGENTA        5
  100. #define    BROWN        6
  101. #define    LIGHTGRAY    7
  102.  
  103. #define    DARKGRAY    8
  104. #define    LIGHTBLUE    9
  105. #define    LIGHTGREEN    10
  106. #define    LIGHTCYAN    11
  107. #define    LIGHTRED    12
  108. #define    LIGHTMAGENTA    13
  109. #define    YELLOW        14
  110. #define    WHITE        15
  111.  
  112. #define    BLINK        128
  113.  
  114. #define    SINGLE_LINE    0
  115. #define    DOUBLE_LINE    1
  116. #define    BLOCK_LINE    2
  117. #define    NOBORDER    3
  118.  
  119. #define    SCREEN_SAVE    0
  120. #define    SCREEN_RESTORE    1
  121.  
  122. #define    SCROLL_UP    0
  123. #define    SCROLL_DN    1
  124.  
  125. #define    center(x, y)    ((((x)-(y))>>1)+1)
  126.  
  127. #define    v_clear(a,b,c,d)    v_paint (' ', (a), (b), (c), (d))
  128.  
  129. #define    VIDEO_INT    asm { \
  130.                 push bp; \
  131.                 int 10h; \
  132.                 pop bp; \
  133.             }
  134.  
  135. int    pascal format    (void (*func) (int), const char *fmt, void *ap);
  136. int    getstr        (char *buffer, unsigned char maxlen);
  137. int    isleap        (int year);
  138. char *    _itoa        (int value, char *string);
  139. int    k_fetch        (void);
  140. int    k_iskey        (void);
  141. char *    _ltoa        (long value, char *string);
  142. void    memswap        (void *addr1, void *addr2, size_t n);
  143. int    sprintf        (char *buffer, const char *fmt, ...);
  144. void    update_cursor    (void);
  145. int    v_aa        (void);
  146. void    v_border    (int style, int x, int y, int nx, int ny);
  147. int    v_cprintf    (const char *fmt, ...);
  148. int    v_cputs        (const char *str);
  149. int    v_getattr    (void);
  150. int    v_getmode    (void);
  151. int    v_getshape    (void);
  152. void    v_gotoxy    (int x, int y);
  153. void    v_paint        (int c, int x, int y, int nx, int ny);
  154. int    v_putch        (int c, int count);
  155. void    v_screen    (int cmd, int x, int y, int nx, int ny,
  156.              void *buffer);
  157. void    v_scroll    (int x, int y, int nx, int ny, int dir,
  158.              int nblines, int attr);
  159. void    v_setattr    (int attr);
  160. void    v_setshape    (int shape);
  161. void    v_shadow    (int x1, int y1, int nx, int ny);
  162. int    v_wherex    (void);
  163. int    v_wherey    (void);
  164.  
  165. /* ------------------- */
  166. /* Resident Kernel API */
  167. /* ------------------- */
  168.  
  169. void    beep        (void);
  170. void    nosound        (void);
  171. void    pause        (unsigned ticks);
  172. void    sound        (unsigned frequency);
  173.  
  174. typedef struct
  175.     {
  176.        long length;
  177.        unsigned srchandle;
  178.        long srcoffset;
  179.        unsigned desthandle;
  180.        long destoffset;
  181.     }
  182.     EMMS;        /* Extended Memory Move Structure */
  183.  
  184. int    XMS_Alloc    (unsigned nkilos);
  185. int    XMS_Copy    (EMMS *x);
  186. int    XMS_Exists    (void);
  187. int    XMS_Free    (unsigned handle);
  188. long    XMS_Lock    (unsigned handle);
  189. int    XMS_Query    (unsigned *nkilos, unsigned *maxblocksize);
  190. int    XMS_Realloc    (unsigned handle, unsigned nkilos);
  191. int    XMS_Unlock    (unsigned handle);
  192.  
  193. /* ----------------------- */
  194. /* Installation Kernel API */
  195. /* ----------------------- */
  196.  
  197. int    cleanup        (void);
  198. int    parse        (void);
  199. void    setcseg        (void);
  200. void    setrseg        (void);
  201. int    setup        (void);
  202. void    skipws        (void);
  203. void    unparse        (void);
  204. int    xparse        (int option);